Roll Quality of  Putting Green

ABSTRACT

In some embodiments, a system may include a golf ball having at least one accelerometer configured to generate signals proportional to acceleration along three axes and a microprocessor coupled to the accelerometer. The microprocessor may be configured to correlate the signals to produce a roll data file for each roll event of a plurality of roll events. The golf ball may also include a memory configured to store the roll data file for each roll event and a transceiver configured to communicate roll data associated with at least some of the plurality of roll events to a computing device. The system may further include the computing device configured to receive the roll data from the golf ball and, in a first mode, to process the roll data file to determine at least one of an overall roll quality associated with a surface and a firmness parameter associated with a surface.

CROSS-REFERENCE TO RELATED APPLICATION(S)

This application is a continuation-in-part of and claims priority toU.S. patent application Ser. No. 12/981,656 filed on Dec. 30, 2010, andentitled “System for Measuring the Roll Quality of a Putting Green,”which is a non-provisional application of and claims priority to U.S.Provisional Application No. 61/291,686, entitled “SYSTEM FOR MEASURINGTHE ROLL QUALITY OF A PUTTING GREEN”, filed Dec. 31, 2009, both of whichare incorporated herein by reference.

FIELD

The present disclosure is generally related to systems, devices, andmethods configured to measure a roll quality of a putting green.

BACKGROUND

In the area of golf course putting greens, green speeds (ball rolldistance from a known starting energy level) are commonly measured usinga variety of devices. These devices are exclusively focused on thelength (distance) a golf ball travels over any surface. However, theball roll distance, or green speed, is only one measure of the surface.

SUMMARY

In some embodiments, a system may include a golf ball having at leastone accelerometer configured to generate signals proportional toacceleration along three axes and a microprocessor coupled to theaccelerometer. The microprocessor may be configured to correlate thesignals to produce a roll data file for each roll event of a pluralityof roll events. The golf ball may also include a memory configured tostore the roll data file for each roll event and a transceiverconfigured to communicate roll data associated with at least some of theplurality of roll events to a computing device. The system may furtherinclude the computing device configured to receive the roll data fromthe golf ball and, in a first mode, to process the roll data file todetermine at least one of an overall roll quality associated with asurface and a firmness parameter associated with a surface.

In other embodiments, a method may include receiving roll data from agolf ball including accelerometer data measured along three axes at aninterface of a computing device. The method may further includeprocessing, using a processor of the computing device, the roll data todetermine, in a first mode, at least one of a smoothness metric, a planedeviation metric, and a firmness metric associated with a surface.Further, the method may include providing data related to at least oneof the smoothness metric, the plane deviation metric, and the firmnessmetric from the processor to a display of the computing device.

In still other embodiments, a computer readable storage device mayembody software including instructions that, when executed, cause aprocessor to process roll data from a golf ball to determine a rollquality metric for a surface of a putting green, in a first mode. Theinstructions may also cause the processor to provide data correspondingto the roll quality metric to a display device. In a second mode, theinstructions may cause the processor to process the roll data from thegolf ball to determine a characteristic of a putting stroke and providedata related to the characteristic of the putting stroke to a display.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 depicts a diagram of a system configured to determine rollquality of a putting green, in accordance with certain embodiments ofthe present disclosure.

FIG. 2 depicts a golf ball shown in partial cross-section and includingcircuitry configured to determine a roll quality of a putting green, inaccordance with certain embodiments of the present disclosure.

FIG. 3 is a side view of a golf ball rolling from left to right or rightto left, in accordance with certain embodiments of the presentdisclosure.

FIG. 4A is a rear view schematic of a golf ball rolling directly awayfrom a viewer, that is, rolling into the sheet, in accordance withcertain embodiments of the present disclosure.

FIG. 4B is a top view of a initial roll path and an actual roll path ofthe golf ball of FIG. 4A, in accordance with certain embodiments of thepresent disclosure.

FIG. 5 depicts a block diagram of a system including a golf ballconfigured to communicate with a computing device, in accordance withcertain embodiments of the present disclosure.

FIG. 6A depicts a representative example of a graph of acceleration overtime for a golf ball that is rolling along a surface, in accordance withcertain embodiments of the present disclosure.

FIG. 6B illustrates a representative example of a graph of accelerationover time for a golf ball that is rolling along a surface, in accordancewith certain embodiments of the present disclosure.

FIG. 7A depicts a graph of raw accelerometer data for a tri-axialaccelerometer as the golf ball is rolled across a pool table, inaccordance with certain embodiments of the present disclosure.

FIG. 7B depicts a graph of raw accelerometer data for a tri-axialaccelerometer as a golf ball is rolled across a green, in accordancewith certain embodiments of the present disclosure.

FIG. 7C illustrates a graph of raw accelerometer data for a tri-axialaccelerometer as a golf ball is rolled across a fringe of a green, inaccordance with certain embodiments of the present disclosure.

FIG. 7D depicts a graph of raw accelerometer data for a tri-axialaccelerometer as a golf ball is rolled across the rough, in accordancewith certain embodiments of the present disclosure.

FIG. 8 illustrates a graph of velocity over time for a golf ball rolledon a three-foot putt, in accordance with certain embodiments of thepresent disclosure.

FIG. 9 illustrates a flow diagram of a method of determining a rollquality of a green, in accordance with certain embodiments of thepresent disclosure.

FIG. 10 depicts a flow diagram of a method of determining puttcharacteristics, in accordance with certain embodiments of the presentdisclosure.

In the following discussion, the same reference numbers are used in thevarious embodiments to indicate the same or similar elements.

DETAILED DESCRIPTION OF ILLUSTRATIVE EMBODIMENTS

In the following detailed description of embodiments, reference is madeto the accompanying drawings which form a part hereof, and which areshown by way of illustrations. It is to be understood that features ofvarious described embodiments may be combined, other embodiments may beutilized, and structural changes may be made without departing from thescope of the present disclosure. It is also to be understood thatfeatures of the various embodiments and examples herein can be combined,exchanged, or removed without departing from the scope of the presentdisclosure.

In accordance with various embodiments, the methods and functionsdescribed herein may be implemented as one or more software programsrunning on a computer processor or controller. In accordance withvarious embodiments, the methods and functions described herein may beimplemented as one or more software programs running on a computingdevice, such as a tablet computer, smart phone, personal computer,server, or any other computing device. Dedicated hardwareimplementations including, but not limited to, application specificintegrated circuits, programmable logic arrays, and other hardwaredevices can likewise be constructed to implement the methods andfunctions described herein. Further, the methods described herein may beimplemented as a device, such as a computer readable storage device ormemory device, including instructions that when executed cause aprocessor to perform the methods.

Additionally, in some embodiments, data processing functions performedby circuitry within a golf ball may be implemented using a generalpurpose processor, such as an 8-bit, 32-bit, or 64-bit processor (forexample). Alternatively, such data processing functions may be performedusing application specific integrated circuits, programmable logicarrays, and other hardware devices can likewise be constructed toimplement the methods and functions described herein.

Embodiments of systems are described below that may include a golf ballhaving circuitry configured to measure acceleration along three axes asa golf ball is rolled across a surface of a putting green. In a firstmode, the measurement data may be processed to determine characteristicsof the surface of the putting green, including green speed, firmness,and overall roll quality of a putting green. High frequency signalelements within accelerometer signals may reflect imperfections in thesurface that may cause the golf ball to jump or bounce. Lower frequencyelements within the accelerometer signals may reveal slopes in thesurface of the putting green both in the horizontal plane and in thevertical plane. If the ground in the direction of the roll is perfectlyflat, perfectly uphill, or perfectly downhill, then hitting the ballinto the hole may require putting the ball along a straight line thatpoints directly to the hole. The acceleration measurements may reflectan initial acceleration due to the putt followed by one or moredeceleration measurements reflected by changes in the frequency andamplitude of the accelerometer signal along at least one axis. In someexamples, slopes and imperfections in the green surface can impact thetrajectory of the roll, causing the ball to deviate from the straightline. The circuitry embedded within the golf ball can measure suchdeviations and associated accelerations, store the measurement data, andtransmit the measurement data to a computing device for furtherprocessing.

In some embodiments, circuitry within a golf ball may include one ormore accelerometers configured to measure acceleration along three axes(X, Y, and Z). The acceleration measurements in each dimension mayreflect imperfections and slopes that may be correlated to determine aroll quality of a putting green. In one example, the circuitry maymeasure deviation of a center of a golf ball from an initial horizontalplane that extends parallel to the surface of the putting green whilethe golf ball is stationary (prior to the putt or roll). Since the slopeof the putting green surface may vary from instant to instant as theball rolls, the deviation of the golf ball from the initial horizontalplane may be measured by changes in the acceleration in all threedimensions. Further, the circuitry configured may be configured tomeasure horizontal deviation from a plane extending through the centerof the golf ball and aligned with an initial trajectory of the rolledball. As the slope varies, the accelerometer measurements reflect thechanging slope in X, Y, and Z dimensions. Further, abrupt changes inacceleration may reflect imperfections in the surface of the green, suchas foot prints, bumps, pock marks, or other imperfections that canimpact the roll of the ball, such as by causing the ball to bounce orjump (sometimes deviating from the initial trajectory in the X-Y plane).Additionally, the golf ball may be configured to determine a firmnesscharacteristic of the surface by measuring bounce from an initial impactdropped from a known height above the surface. In some instances, thebounce may also be determined by a distance of travel between the putterstrike and a point when the ball may begin to roll, which distance maybe determined by double integrating the accelerometer data along theaxis of motion.

The golf ball may include a golf ball outer surface (formed, forexample, from a thermoplastic or ionomer resin) and a solid rubber core,which may be partially removed to form an interior cavity. An electronicsystem can be positioned within the interior cavity. The electronicsystem may include one or more accelerometers, a microprocessor, acommunications system, and a rechargeable battery. In response tomovement of the ball, e.g., a roll or putt of the golf ball on anysurface, the circuitry may be configured to measure the acceleration (ordeceleration) of the ball using the one or more accelerometers. Thecircuitry may store the data in a memory and may process the data, toproduce a roll data file. The roll data file may be further processed todetermine a roll quality of the surface.

In certain embodiments, the golf ball circuitry may include acommunications system (such as a transceiver) configured to communicatethe roll data file to a computing device, such as a portable computer, asmart phone, a tablet computer, another data processing device, or anycombination thereof. The communications system may transfer the rolldata file from the golf ball to the computing device, which may beconfigured to analyze the roll data file. In a first mode, the computingdevice may be configured to determine a “speed” parameter (i.e., greenspeed), a firmness parameter, and an overall roll quality parameter forthe surface. The computing device may be configured to display thespeed, the firmness, and the roll quality or to provide the data toanother device for display.

In a second mode, the computing device may process the roll quality datato evaluate a particular putting stroke. By analyzing accelerometer datafor a given stroke, putting stroke flaws may be detected. In an example,a golfer who turns the club face at impact may impart a side spin to theputt, which may be reflected by acceleration measurements along two axisreflecting acceleration in two directions, one of which dominates theother when the ball begins to roll. In another example, a golfer whosnaps his or her wrists during the putting stroke may cause the ball toskid, skip, or bounce more than a desired putting stroke would beforethe ball begins to roll. Such skids, skips, or bounces may be reflectedin the accelerometer data by acceleration without rotation (i.e.,straight line acceleration as compared to sinusoidal accelerationreflecting rotation) or by high frequency noise superimposed on thesinusoidal signal reflecting bouncing after the initial impact of theputter. Further analysis of the roll data file may reveal additionalswing imperfections.

Embodiments of a system are described below that may be configured todetermine surface parameters of a putting green in a first mode and todetermine imperfections in a putting stroke in a second mode. It shouldbe understood, however, that the disclosed embodiments are illustrativeonly, and other embodiments and combinations of embodiments can bedetermined in light of the present disclosure. Therefore, the detailsdisclosed herein are not to be interpreted as limiting, but merely as abasis for teaching one skilled in the art how to make and use thesystems, devices, or methods.

Referring now to FIGS. 1 and 2, a system 10 for measuring the rollquality of a putting green 12 is disclosed, in accordance with certainembodiments of the present disclosure. The system 10 may include a golfball 14 including circuitry configured to measure acceleration of thegolf ball in three dimensions (represented by the X, Y, and Z axis 17)and to communicate the measurement data to a computing device 16, suchas a tablet computer, a smart phone, another computing device, or anycombination thereof. In the illustrated example, the computing device 16is depicted as a special purpose data processing device. The computingdevice 16 may be configured to execute a custom computer softwareinterface. Further, the computing device 16 may be configured todetermine both a green speed and a roll quality for the putting green 12based on the measured acceleration data. The computing device 16 maycommunicate information corresponding to the green speed and the rollquality to a display, to an audio output, to another computing device,or any combination thereof.

In some embodiments, the computing device 16 may be configured todetermine how smoothly a golf ball 14 travels over a surface, such asthe putting green, toward a cup 15, for example. The acceleration datamay indicate a plurality of changes in acceleration in three dimensions(X, Y, and Z) as the golf ball 14 rolls, indicating changes in the slopeas well as imperfections in the surface of the putting green. Thecombination of the slopes and the imperfections can be processed by aprocessor within the golf ball 14 or by a processor within the computingdevice 16 to determine a “roll quality” measurement of the surface ofthe putting green 12.

Further, the system 10 can also determine a green speed measurement forthe putting green 12. In some embodiments, the golf ball 14 cancommunicate the roll data file to the computing device 16 to determinethe green speed measurement as well as the slope and imperfectionmeasurement data. The computing device 16 may be configured to presentthe data to golf course officials, who regularly seek this information.In certain embodiments, the system 10 can also provide feedback to agolfer, such as how solidly (with regard to side spin and energytransfer) he or she has struck a putt. The golfer can use the feedbackas a learning aid when practicing putting.

In a particular example, the impact of a putter with the surface of thegolf ball 14 may be detected as an abrupt change in acceleration. Insome embodiments, the accelerometers may generate an electrical signalresembling a spike or impulse in response to the golf ball 14 beingstruck by a putter. In some instances, the golf ball 14 may rollbeginning at the initial impact of the putter, and the accelerometersmay be configured to detect a “rolling” profile, which may becharacterized by variations in the accelerometer measurements in the X,Y, and Z dimensions consistent with rolling across a variable surface.In some instances, when the golf ball 14 is struck by the putter, thegolf ball 14 may skid for a short distance before rolling, which mayindicate poor putting mechanics. The skid may be detected asacceleration in a particular direction without the variations common torolling (e.g., the accelerometer signal variations caused by thechanging rotational orientation of the accelerometer within the golfball 14).

Further, in some instances, a golfer may misalign the club face or mayturn his or her club face at impact such that the club face is turnedslightly relative to the putting stroke, which may cause the golf ball14 to spin briefly in a plane that is different from a direction of theputt. The brief spin may cause the golf ball 14 to roll off-line (i.e.,away from intended direction of the putt), almost like a curve ball orslider in baseball. In either instance, the accelerometers within thegolf ball 14 may measure the “skid” and the “spin” independent from thedesired roll. In a particular example, the initially imparted spin maybe quickly subsumed by the roll of the golf ball 14, but the abruptchange in the accelerometer signals may be detected and the swing errormay be inferred from the detected spin. In certain embodiments, thecomputing device 16 may provide feedback in terms of analysis of theputting stroke based on detecting the skid or the spin.

In certain embodiments, the golf ball 14 can be a solid core two pieceUSGA (United States Golf Association) approved golf ball of standardsize and weight specifications, with at least one cavity 20 milled tohold the components of the electronic system 22, including the one ormore accelerometers 24, the microprocessor 26, the communications system28, the memory 29, and the battery 30. The golf ball 14 may include aconventional golf ball outer surface 18 (formed, for example, from athermoplastic or ionomer resin) and a solid rubber core, which may bepartially removed to form an interior cavity 20. The electronic system22 can be inserted and potted into the interior cavity 20, and the golfball 14 can be reassembled, removing any seams caused through theformation of the cavity 20. In an example, a golf ball 14 may be cut inhalf, and a portion of the rubber core may be removed to create thecavity. After insertion and potting of the electronic system 22, theouter surfaces 18 of the two halves of the golf ball 14 may bereassembled and glued or welded (e.g., sonic weld) to reform the golfball 14. The resulting golf ball system 14 may have the standard sizeand weight of a USGA approved golf ball. In some embodiments, specialmaterials could be used within the golf ball 14 to duplicate the weightand balance characteristics of a standard golf ball, and the outersurface of the golf ball 14 could be covered with various sized andshaped dimples to duplicate the various geometries of existing or futuredimple configurations, or could be dimple free.

As briefly discussed above, the electronic system 22 may be positionedwithin the interior cavity 20. The electronic system 22 may include oneor more accelerometers 24, a microprocessor 26, a communications system28, and battery 30. Further, the electronic system 22 may include amemory 29 configured to store instructions executable by themicroprocessor 26 and to store data (such as roll file data). The one ormore accelerometers 24 may be configured to measure acceleration in X,Y, and Z dimensions. The one or more accelerometers 24 may be coupled tothe microprocessor 26, which may be coupled to the communications system28 and the battery 30. The battery 30 may be rechargeable, such as viaan inductive recharge unit. In a particular example, the battery 30 mayinclude a rechargeable nickel metal hydride (NiHM) battery.

In some embodiments, the one or more accelerometers 24 may generateelectrical signals that are proportional to the acceleration in X, Y,and Z dimensions and may communicate the electrical signals to themicroprocessor 26. In some embodiments, the one or more accelerometers24 may include an analog-to-digital converter (ADC) or may communicatewith the microprocessor 26 through the ADC. The microprocessor 26 may beconfigured to process the signals received from the one or moreaccelerometers 24. In an example, the microprocessor 26 may correlatedata from each of the accelerometers 24 and may store the correlateddata into a roll data file. The microprocessor 26 may subsequentlyprovide the roll data file to the communications system 28, which maysend the roll data file to the computing system 16.

In certain embodiments, the accelerometers 24, the microprocessor 26,the communications system 28, and the computing device 16 may cooperateto gather and process information to determine not only the green speed,but also the roll quality of a putting green. The electronic system 22may be configured to record data relating to the roll quality (therebycreating a “roll data file”) in response to a roll or a putt of the golfball 14. In certain embodiments, the one or more accelerometers 24 maygenerate raw data and may provide the raw data to the microprocessor 26for processing. In an example, the microprocessor 26 may process thedata from the one or more accelerometers 24 to correlate the data in thethree dimensions (X, Y, and Z).

The processed data may constitute a “roll data file”. The communicationssystem 28 can transmit (via a radio frequency signal, such as aBluetooth signal, a WiFi signal, or other wireless communicationssignal) the “roll data file” from the golf ball 14 to the customcomputer software interface 16 or to a portable computing device, suchas a smart phone, configured to analyzes the data and report on thesurface green speed and overall “roll quality” of the putting green (orsurface) 12. Further, the microprocessor 26 may store the roll data filein the memory 29.

In some embodiments, the portable computing device 16 may furtherprocess the roll data file to determine not only the green speed, butalso firmness and roll quality of the putting green 12. By dropping thegolf ball 14 from a known height above the surface, such as one foot (12inches), the golf ball 14 may accelerate toward the surface, impact thesurface, and bounce, and the interaction between the golf ball 14 andthe putting green 12 may be captured in the accelerometer data, whichdata may be analyzed to determine a firmness of the putting green 12.Further, rolling the golf ball 14 across the putting green in differentdirections and at different speeds may allow the electronic system 22 tocapture accelerometer data corresponding to the roll of the golf ball14. Such accelerometer data may be analyzed by the computing device 16to determine parameters of the putting surface, including the greenspeed and the roll quality. The roll quality may be determined based onbumps, slopes, and other perturbations in the surface of the puttinggreen (or surface) 12, which may cause deflections from an initialhorizontal plane as the golf ball 14 rolls and which may be reflected inhigh frequency accelerometer signal components and low frequency signalcomponents that can impact the roll of the golf ball (either distance ordirection).

In an example, the initial horizontal plane may extend through a centerof the golf ball 14 and in parallel to the putting green (or surface) 12when the ball is at rest before the ball is rolled. In some instances,the golf ball 14 may roll along the surface 12 and such bumps, slopes,and other perturbations may cause the golf ball 14 to deviate from theinitial horizontal plane as it follows the variations of the surface 12.In some instances, the bumps or perturbations may cause the golf ball 14to bounce or otherwise experience intermittent contact with the puttinggreen (or surface) 12, which intermittent contact can influence thedistance the ball rolls since the air will likely provide lessresistance to movement than the putting green (or surface) 12.

Further, the roll quality may indicate bumps, slopes, and otherperturbations in the putting green (or surface) 12 that may causedeflections from an initial roll path of the golf ball 14, which may bedefined by a vertical plane extending through the center of the golfball 14 and on an initial roll path of the golf ball 14. In particular,as the golf ball 14 rolls, the putting green (or surface) 12 may causethe golf ball 14 to deviate from the initial path (vertical plane) ofthe golf ball 14, turning or jumping off of the initial path. Abruptchanges may indicate imperfections in the surface (such as pock marks,divots, or other imperfections) that can influence the roll path of thegolf ball 14, such as by abruptly redirecting the golf ball 14. Incontrast, a substantially constant change may indicate a slope, whichcan cause the golf ball 14 to curve away from the initial path (verticalplane). The substantially constant change may be reflected in anincreased amplitude of an accelerometer measurement along at least oneaxis that is different from an axis associated with the roll path(assuming that one of the measurement axes of the accelerometer 24 isaligned to the roll path). The abrupt changes may be reflected in theaccelerometer signals as high frequency noise superimposed on thesinusoidal signal. In some instances, bounces may be reflected asdiscontinuities in the sinusoidal waveform. Other embodiments are alsopossible.

In an example, the accelerometer 24 may include accelerationmeasurements corresponding to three axes (X, Y, and Z). In someembodiments, the X-Y plane of the axes may extend through the center ofthe golf ball 14 at its initial position (prior to rolling) and parallelto the surface of the putting green (or surface) 12. Further, the Z-axismay reflect vertical displacement (as depicted in FIG. 6 and discussedbelow). Abrupt changes in the accelerometer data (e.g., accelerationsignal variations in the plus and minus Z direction) may reflect slopes,bumps, divots, or other perturbations that may cause the ball to bouncerather than roll and, in some instances, to change direction.

In general, as the golf ball 14 rolls, the one or more accelerometers 24may measure acceleration relative to the axes. Gravitational forces andcentripetal forces may act on the accelerometers 24, which producesinusoidal signals proportional to gravity and with an offset due tocentripetal forces. The frequency and duration of the sine wave can beused to determine the speed and distance the golf ball 14 travels. Theaccelerometers 24 may measure acceleration relative to gravity toproduce sine waves as the golf ball 14 rotates. When a selected axis isparallel to the ground, the accelerometer 24 may measure zero (0) g(gravity). When the axis is oriented down, the accelerometer 24 maymeasure one (1) g, and when the axis is oriented up, the accelerometer24 may measure minus one (−1) g. When the axis is at an angle other thanninety degrees or zero degrees, the accelerometer 24 may measure a valuethat is related to the cosine of the angle (e.g., 1g*cos(θ), where θrepresents the angle relative to gravity). The distance traveled may bedetermined by the number of rotations times the circumference of thegolf ball 14. However, deviations from the initial roll path (such ascurvature due to slope) may alter the roll distance calculation withrespect to a single axis, and the distance may be calculated based on acircumferential distance determined along each of the three axes.Subsequently, the green speed may be determined based on the distancedivided by the time (duration of the roll).

In some embodiments, the accelerometers 24 may measure bounces as havinga higher frequency component (e.g., 30-100 Hz) as compared to rolling(e.g., less than 15-20 Hz for putts). Thus, the microprocessor 26 or aprocessor of the computing device 16 may detect bounces based on suchhigh frequency components, and the bounces may be recorded within theroll data file, together with data representing a smooth rolling motion.The roll data file may be communicated by the communications system 28to the computing device 16.

In some embodiments, the golf ball 14 may be rolled on a putting green(or surface) 12 multiple times. For example, the golf ball 14 may berolled multiple times from a first position and along a first path atdifferent speeds. Further, the golf ball 14 may be rolled multiple timesfrom each of a plurality of positions, at different speeds, and alongmultiple paths. The resulting plurality of roll data files may beprocessed by the computing system to fully characterize the puttinggreen (or surface) 12. In some embodiments, such data may be used bygolfers to enhance their putting approach based the position of theparticular golf ball on the putting green 12 relative to the cup. Insome embodiments, such characterization data may be used by a greenskeeper, a designer, landscape personnel, or other golf professionals toassess the quality of a particular green and sometimes to determine whenmaintenance (beyond routine maintenance) may be needed.

In accordance with some embodiments, the “roll quality” of a surface maybe determined based on a smoothness metric and a plane deviation metric.The smoothness metric may represent the relatively high frequencymeasurements captured by the accelerometers 24, which may indicatebumps, divots, or other imperfections in the surface that may impact theroll of the golf ball 14. The plane deviation metric may determineslopes, which may cause the golf ball 14 to curve relative to an initialroll path.

In certain embodiments, the “roll data file” may be generated by themicroprocessor 26 as it processes and correlates measurement data fromthe one or more accelerometers 24. The roll data file may be stored inmemory 29 within the golf ball 14 for a time period while the golf ball14 is rolling and until it stops rolling. The communications system 28may then transmit the “roll data file” to the computing device 16. Incertain embodiments, the memory 29 may store roll data filescorresponding to a plurality of independent rolls of the golf ball 14.In an example, the memory 29 may be configured to store roll data filesfor over 100 independent rolls and may continue to maintain the rolldata files until the golf ball 14 uploads the data to the computingdevice 16 for storage and analysis. In an alternative embodiment, thegolf ball 14 may communicate the measurement data continuously (in realtime or near real-time) during the roll.

In accordance with a preferred embodiment, the golf ball 14 can be atraditional size (e.g., the ball may have an outer diameter of 1.68inches in accordance with USGA rules) and may include a uniform interiorshell material 32 shaped and dimensioned to house the electronic system22, which may be configured for the monitoring and collection of datarelating to the surface under study. In certain embodiments, theaccelerometer may be a tri-axial accelerometer 24. The communicationssystem 28 can include a radio frequency (RF) transmitter 28 (such as, an802.11x RF transmitter, a 2.4 GHz RF Transmitter, a Bluetooth®transceiver, a 900 MHz RF transmitter, another type of transmitter, orany combination thereof).

In some embodiments, the cavity 20 of the golf ball 14 may includecharging contacts 34 extending between the interior cavity 20 and theexterior surface of the golf ball 14 to receive electrical current torecharge the battery 30. Alternatively, the circuitry 22 may includecharging circuitry for receiving an inductive charging current from anexternal charging unit (in which case the charging contacts 34 may beomitted). In accordance certain embodiments, the various components ofthe electronic system 22 can be press fit within the cavity 20, and theelectronic system 22 can be potted in place. The potting material mayinclude a solid compound configured to insulate the electronic system 22from shock, vibration, moisture, and corrosive agents.

During operation, in a first mode, the computing device 16 may receiveroll data from the golf ball 14 and may process the roll data todetermine parameters of the putting green 12. Such parameters mayinclude the green speed, the firmness parameters, and an overall rollquality. The computing device 16 may provide data related to one or moreof the parameters to a display device, such as a touchscreen. In asecond mode, the computing device 16 may receive roll data from the golfball 14 and may process the roll data to determine characteristics of aputting stroke. The computing device 16 may present feedback to thedisplay device based on the determined characteristics. Otherembodiments are also possible.

Referring to FIG. 3, the smoothness metric considers the deviation ofthe center 40 of the golf ball 14 from a plane 42, which is parallel tothe putting green, or other surface 12, upon which the golf ball 14 isrolling. Typically, a putting green may have a surface that includesmultiple different slopes, which may vary in X, Y, and Z dimensions. Inthe illustrated example, the ball 14 may roll in the X-direction asindicated by arrow 300. As the golf ball 14 rolls, the elevation of thecenter 40 of the golf ball 14 may change, as depicted by the golf ball14′ and its center 40′ (shown in phantom). The changing elevation of theball in the Z-direction may be reflected in a changing acceleration inthe Z-direction (Δα_(z)) as measured by the accelerometers 24. Thefrequency of the variation may be processed to determine whether thevariation is due to changing elevation of an otherwise smooth surface oran imperfection that caused the golf ball 14 to bounce. Further, thecenter 40′ may deviate from the initial plane 42, resulting in arelative deviation along the Z-axis (ΔZ). As the golf ball 14 movesacross the surface of the putting green 12, the elevation of the golfball 14 along the Z-axis and the acceleration of the golf ball 14 in theZ-direction may vary. Further, the slope may vary in the X and Y axes aswell, causing both the roll pattern and the trajectory of the golf ball14 to vary along the roll path.

Referring to FIG. 4A, the plane deviation metric considers the deviationof the center 40 of the golf ball 14 from an initial plane 44 extendingthrough the center of the golf ball 14 at an angle that is perpendicularto the putting green 12 upon which the golf ball 14 is rolling andextending in a direction of an initial trajectory of the golf ball 14.Since the putting green 12 may include various slopes, the plane 44 maytherefore change relative to gravity to maintain its perpendicularrelationship with the surface of the putting green 12.

In the illustrated example of FIG. 4B, the golf ball 14 is rolling in adirection extending into the drawing (along the X-axis). Theaccelerometers 24 may be at a tilt angle (θ) relative to gravity.Further, the golf ball 14 may be advanced along a slope that may tilt tothe right (for example), and which may cause the golf ball 14 to deviatefrom its initial path 402 and to travel along the path 404. The slopemay be determined based on the measured acceleration in the X and Ydimensions. In general, slopes may be determined from the lowerfrequency (i.e., roll frequency) changes in the measured acceleration,while bumps and imperfections may be detected as high frequencyanomalies.

In accordance with certain embodiments, the smoothness metric can bederived based, at least in part, upon the changes in acceleration (i.e.,the distance and frequency with which the golf ball 14 moves in each ofthe axes) along each axis (X, Y, and Z). High frequency changes mayindicate bumps and other irregularities. Further, the smoothness metriccan also determined based upon the deceleration of the golf ball atdifferent time intervals and for different interval lengths as the golfball 14 rolls along the surface of the putting green 12. In someembodiments, the golf ball 14 may be rolled across the surface of theputting green 12 at various initial roll speeds (e.g., 6, 5, and 4 feetper second) and in different directions to develop a plurality ofmeasurements characterizing the smoothness surface.

In certain embodiments, the plane deviation metric may be determinedbased upon a sum of rotation plane deviations, that is, the number oftimes the golf ball moves laterally right or left such that a center 42of the golf ball 14 deviates laterally from the initial vertical plane44. In an embodiment, the plane deviation metric can be derived basedupon a plurality of samples, for example, 100 samples, captured atdifferent initial speeds (e.g., 6, 5, and 4 feet per second) and indifferent directions to develop a plurality of measurementscharacterizing the plane deviations of the surface of the putting green12.

In certain embodiments, the plurality of measurements of the smoothnessof the surface and the plurality of measurements of the plane deviationsof the surface may be processed to characterize the surface of theputting green 12. In an example, the smoothness and the plane deviationsof the surface may be interpolated to produce a roll quality value,which may be a numeric value within a range from zero to 100, where zerorepresents a uniformly rough surface that may cause the golf ball 14 tobounce until its initial energy is dissipated, while a score of 100 mayrepresent a uniformly smooth and flat surface on which the golf ball 14rolls and maintains an initial trajectory until its initial energy isdissipated. In an example, the roll quality value may be an integervalue. In another example, the roll quality value may be a floatingpoint number. In another example, the roll quality value may be a lettergrade, such as A+, A, A−, B+, B, B−, etc. Other embodiments are alsopossible. In a particular embodiment, the USGA may define a roll qualityevaluation scale, which may standardize the roll quality valuation sothat the roll quality of the putting green 12 may be compared to that ofanother putting green.

FIG. 5 depicts a block diagram of a system 500 including a golf ball 14configured to communicate with a computing device 502, in accordancewith certain embodiments of the present disclosure. The computing device502 may be an embodiment of the computing device 16 of FIG. 1. In someexamples, the computing device 502 may include a smart phone, a tabletcomputer, a laptop computer, another data processing device, or anycombination thereof.

The golf ball 14 may include the circuitry 22, which may include amicroprocessor 26 coupled to a memory 29, communications system 28, atimer 40, the battery 30, and the tri-axial accelerometer 24. In someembodiments, the microprocessor 26 may also be coupled to amicroelectromechanical (MEMs) magnetometer 42, which may be configuredto operate as a compass to determine a direction of magnetic north,which direction data may be correlated to roll data from the tri-axialaccelerometer 24 to provide roll data corresponding to a roll vector. Incertain embodiments, the memory 29 may store processing instructions 36that, when executed may cause the microprocessor 26 to correlate datareceived from the accelerometer 24 with direction data from the MEMsmagnetometer 42 and with time data from the timer 40 to produce a rolldata file and to store the roll data file (roll data 38) in memory 29.Subsequently or concurrently, the microprocessor 26 may communicate theroll data file to the communications system 28 for transmission to thecomputing device 502 directly or through a network 506 or to anothercomputing device 504 via the network 506.

The computing device 502 may include a transceiver 514 configured tocommunicate wirelessly with the communications system 28 of the golfball 14. The transceiver 514 may be coupled to a processor 510, whichmay be coupled to a network transceiver 508, an input/output (I/O)interface 512, and a memory 516. The network transceiver 508 may beconfigured to send and receive data to other devices through the network506. The I/O interface 512 may include a display interface to providedisplay data to a display device (such as a liquid crystal display (LCD)device, a light-emitting diode (LED) display device, another displaydevice, or any combination thereof), an input interface to receive datafrom an input device (such as a pointer, mouse, keyboard, and the like),or a touchscreen interface.

The memory 516 may store data and instructions that, when executed, maycause the processor 510 to determine a green speed and a roll qualityfor a particular surface. The memory 516 may include a graphical userinterface (GUI) generator 518 that, when executed, may cause theprocessor 510 to produce a GUI including data corresponding to aparticular roll of the golf ball 14, a plurality of rolls, a greenspeed, a roll quality, or any combination thereof. The memory 516 mayinclude a roll data extractor 520 that, when executed, may cause theprocessor 510 to extract data from the roll data file and to store thedata in one or more temporary tables or storage files. The memory 516may also include a perturbation analysis module 522 that, when executed,may cause the processor 510 to detect bounce events within the rolldata, such as based on high frequency variations in the accelerometerdata extracted by the roll data extractor 520.

The memory 516 can also include a slope threshold module 524 that, whenexecuted, may cause the processor 510 to determine changes in slopebased on the accelerometer data and to differentiate betweenacceleration measurements due to slope as compared to such measurementscaused by imperfections in the surface. The memory 516 may also includean impact threshold 526 that may be compared to the accelerometer datato identify impact events, such as a club striking the golf ball 14, agolf ball 14 bouncing and impacting the surface, the golf ball 14landing in the cup 15, and so on. The memory 516 may also include afirmness calculator 529 that, when executed, may cause the processor 510to determine a firmness parameter for a surface based on the bounce of agolf ball 14, either when it is dropped from a known height or based ona skid distance from an initial strike to when the golf ball 14 beginsrolling.

The memory 516 can also include a plane deviation module 530 that, whenexecuted, may cause the processor 510 to determine initial horizontaland vertical planes (as discussed above with respect to FIGS. 3, 4A, and4B. The memory 516 may further include a green speed calculator 532that, when executed, may cause the processor 510 to determine a greenspeed based on a roll distance and time determined from the extractedroll data. The memory 516 may also include a roll quality module 534that, when executed, may cause the processor 510 to evaluate theperturbations determined by the perturbation analysis module 522, slopesdetermined using the slope threshold 524, impacts determined using theimpact threshold 526, smoothness calculations from the smoothnesscalculator 528 and slopes in the horizontal plane determined by theplane deviation module 530. The roll quality module 534 may cause theprocessor 510 to determine a value for the overall roll quality of thesurface based on the determined impacts, smoothness, slopes,perturbations, and planar deviations. The roll quality module 534 mayalso take into account the firmness of the surface (as determined by thefirmness calculator 529) in determining an overall roll quality of asurface. The firmness calculator 529 may be configured to evaluate aparticular roll data file (e.g., a dropped ball file), which may beselected or designated by the operator to determine bouncecharacteristics of a dropped golf ball 14, which bounce characteristicsmay be reflected in the accelerometer signals as the kinetic energy fromthe drop event dissipates and which may be used to determine thefirmness of the surface.

In some embodiments, the memory 516 may include putt analytics 536 that,when executed, may cause the processor 510 to analyze the extracted rolldata to identify characteristics of a particular putt. In an example, aninitial side spin included within the accelerometer data may indicateclub head turn at impact. In another example, excessive skidding of thegolf ball 14 before rolling may indicate a poor putt stroke. The puttanalytics 536 may be configured to provide instruction to a golfer tosuggest swing adjustments to correct for such potential putt swingcharacteristics. Other embodiments are also possible.

In an example, in a first mode, the computing device 502 may receiveroll data from the golf ball 14 and may process the roll data todetermine parameters or characteristics of a putting green 12. Theparameters or characteristics may include at least one of a firmnessparameter and a roll quality parameter. The roll quality parameter maybe determined for each independent roll and an overall roll qualityparameter may be determined based on a plurality of roll events. In someembodiments, the parameters or characteristics may also include a greenspeed parameter. The computing device 502 may present data correspondingto the determined parameters to the I/O interface 512.

In a second mode, the computing device 502 may receive roll data fromthe golf ball 14 and may process the roll data to determinecharacteristics of a putting stroke that initiated to roll event. Sidespin, skid, bounce, and other characteristics of the movement of thegolf ball 14 may reflect improper putting mechanics. The computingdevice 502 may present data corresponding to the characteristics of theputting stroke to the I/O interface 512 to provide feedback to thegolfer. Other embodiments are also possible.

FIG. 6A depicts a representative example of a graph 600 of accelerationover time for a golf ball that is rolling along a surface, in accordancewith certain embodiments of the present disclosure. In the illustratedexample, the graph 600 may include a sinusoidal signal indicating arolling motion as seen from the perspective of the accelerometer 24relative to the Z-axis. At 604, the fourth oscillation has decreased inamplitude and frequency relative to the initial impulse (generallyindicated at 602). The sinusoidal signal appears as a dampened sinusoid.However, the damping effect along the Z-axis may be influenced by slope,perturbations, friction, surface firmness, and so on. Such influencesmay vary as the ball rolls. Further, such accelerations may have agreater or lesser effect on the roll of the golf ball 14 depending onthe speed of motion.

In the illustrated example of FIG. 6A, the golf ball 14 may be rollingacross a relatively level surface having little, if any, slope relativeto elevation along the roll path. However, imperfections that may causebounces can be visible as high frequency noise associated with thesinusoidal waveform. One possible example showing such high frequencynoise is described below with respect to FIG. 6B.

FIG. 6B illustrates a representative example of a graph 620 ofacceleration over time for a golf ball that is rolling along a surface,in accordance with certain embodiments of the present disclosure. Thegraph 620 depicts a sinusoidal waveform beginning with an initialimpulse generally indicated at 622. Between a first time (T₁) 624 and asecond time (T₂) 626, the golf ball 14 experienced an imperfectioncausing a bounce, which is generally indicated in the accelerometer dataat 628 as high frequency noise (high frequency relative to the frequencyof the sinusoid). The amplitude and extent of the noise may indicate theextent of the imperfection.

The graph 620 further depicts noise generally indicated at 634, betweena third time (T₃) 630 and a fourth time (T₄) 632. The noise 634 mayindicate an imperfection that may impact the roll direction, cause theball to bounce, or both.

It should be appreciated that the graphs 600 and 620 in FIGS. 6A and 6Bare illustrative only. The actual signal response from the accelerometer624 may be provided as digital data, as opposed to an analog waveform.Further, the noise may be more or less significant, and the processor510 may be configured to process the data to extract and separatelyprocess the noise to detect imperfections. Other embodiments are alsopossible.

FIG. 7A depicts a graph 700 of raw accelerometer data for a tri-axialaccelerometer as the golf ball is rolled across a pool table, inaccordance with certain embodiments of the present disclosure. The rawaccelerometer data includes accelerometer measurement data from first,second and third accelerometers (Accelerometer A, Accelerometer B, andAccelerometer C) as a golf ball 14 is rolled across a surface of a pooltable.

FIG. 7B depicts a graph 710 of raw accelerometer data for a tri-axialaccelerometer as a golf ball 14 is rolled across a green 12, inaccordance with certain embodiments of the present disclosure.

FIG. 7C illustrates a graph 720 of raw accelerometer data for atri-axial accelerometer as a golf ball 14 is rolled across a fringe of agreen 12, in accordance with certain embodiments of the presentdisclosure.

FIG. 7D depicts a graph 740 of raw accelerometer data for a tri-axialaccelerometer as a golf ball 14 is rolled across the rough, inaccordance with certain embodiments of the present disclosure.

FIG. 8 illustrates a graph 800 of velocity over time for a golf ballrolled on a three-foot putt, in accordance with certain embodiments ofthe present disclosure. The graph 800 depicts a rapid increasecorresponding to the initial acceleration from a putt or roll followedby deceleration due to slope, friction, or other roll characteristics.

In the graphs of FIGS. 7B-8, the accelerometers may register highfrequency components of the accelerometer signal, which high frequencycomponents may represents bounces, jumps, or other deviations, some ofwhich may cause the ball to deviate from the normal roll path of thegolf ball.

FIG. 9 illustrates a flow diagram of a method 900 of determining a rollquality of a green, in accordance with certain embodiments of thepresent disclosure. In some examples, the method 1000 may be implementedas a particular operating mode of the computing device 16 of FIG. 1 or502 of FIG. 5. The method 900 may include receiving accelerometer datacorresponding to a roll of a golf ball, at 902. The accelerometer datamay be received from a memory, from a communications system 28 of a golfball 14, from another source, or any combination thereof. At 904, themethod 900 may include determining a change in the accelerometer data inone of a first plane and a second plane. In some embodiments, the changemay be determined based on the three axes. The change may be determinedbased on the noise signal associated with the accelerometer data.

At 906, if the change is greater than a first threshold, the method 900may include determining a bounce event. In an example, the change mayinclude a high frequency signal component that deviates from the dampedsinusoidal signal. At 910, the method 900 may include characterizing thedata corresponding to the bounce event. In some embodiments, theprocessor 510 may apply a label or otherwise mark the data associatedwith a bounce event and may correlate the bounce data to a particularroll, directional data, and other data. The method 900 may furtherinclude storing the accelerometer data and associated label informationin a memory 912.

At 906, if the change is less than the first threshold, the method 900may include determining if the change is greater than a secondthreshold, at 914. If the change is greater than a second threshold at914, the method 900 may include determining a slope 916. In thisexample, the slope may exert a lower frequency force on the roll of thegolf ball 14. At 918, the method 900 may include characterizing the datacorresponding to the slope. In some embodiments, the processor 510 mayapply a label or otherwise mark the data associated with a slope and maycorrelate the slope data to a particular roll, directional data, andother data. In an example, the second threshold may include anaccelerometer force that is sufficient to alter a roll path of the golfball. The method 900 may further include storing the accelerometer dataand associated label information in a memory 912.

Returning to 914, if the change is less than the second threshold, themethod 900 may include determining the data corresponds to a flat andsmooth surface, at 920. At 922, the method 900 may further includelabeling the data corresponding to the flat and smooth surface. In someembodiments, the processor 510 may apply a label or otherwise mark thedata associated with the flat and smooth surface and may correlate theflat and smooth data to a particular roll, directional data, and otherdata. The method 900 may further include storing the accelerometer dataand associated label information in a memory 912.

In some embodiments, the method 900 may include determiningimperfections or other external factors associated with the surface thatmay impact the roll of the golf ball 14. In certain examples, theimperfections may include any surface imperfection sufficient to producea detectable noise signal with respect to the output of theaccelerometer. In some embodiments, the imperfection may cause a highfrequency noise signal that may be superimposed on the sinusoidalwaveform attributable to the roll of the golf ball 14. The “highfrequency” noise signal may be high frequency as compared to thefrequency of the revolutions of the golf ball rolling. The method 900may further include determining imperfections significant enough toalter the roll path of the golf ball 14 based on an amplitude of thenoise. Further, low frequency noise consistent with the frequency of therolling of the golf ball 14 and along an axis different form the initialroll path may indicate a slope that may influence the roll path at afrequency associated with the roll frequency. Other embodiments are alsopossible.

While the embodiment of FIG. 9 describes a method 900 of determining aroll quality, in some instances, the method 900 may also includedetermining a firmness parameter by dropping the golf ball 14 onto thesurface and analyzing the bounce characteristics. Further, in someembodiments, the method 900 can also include determining a green speedbased on the accelerometer data. Other embodiments are also possible.

FIG. 10 depicts a flow diagram of a method 1000 of determining puttcharacteristics, in accordance with certain embodiments of the presentdisclosure. In some examples, the method 1000 may be implemented as aparticular operating mode of the computing device 16 of FIG. 1 or 502 ofFIG. 5. At 1002, the method 1000 may include receiving accelerometerdata corresponding to a roll of a golf ball. The accelerometer data maybe received from a memory, from a communications system 28 of a golfball 14, from another source, or any combination thereof.

At 1004, the method 1000 may include determining an initial putt fromthe accelerometer data. The initial putt may include an impulseaccelerating the golf ball from a stationary state. Characteristics ofthe initial putt may include a skid, bounce or other characteristicsthat differ from the accelerometer data when the ball is rolling.

At 1006, the method 1000 may include determining a roll direction basedon the sinusoidal waveforms. The roll direction may be determined basedon the relative amplitudes of the accelerometer readings as the ballrotates. At 1008, the method 1000 may include determining an anomalousaccelerometer signal subsumed in the roll direction waveforms. Inparticular, at the outset of the putt, the golf ball may spin in adirection different from the rotation of the roll. Such spin may beimparted by the face of the putter striking the ball at an angle, andthe spin may quickly disappear into the rotation of the golf ball.However, such spin may change the roll path of the golf ball at theoutset, impacting the efficacy of the putt.

At 1010, the method 1000 may include selectively determining puttanalytics based on the anomalous accelerometer signal. In general, agood putt include striking the ball when the club face is perpendicularto the swing path in order to strike the ball along the swing path. Thesize of the angle of the putt face relative to the desired perpendicularangle may impact the amplitude of the anomalous accelerometer signal.

At 1012, the method 1000 may further include providing informationrelated to the putt analytics to an interface. The information mayinclude data corresponding to a putter face offset angle or otherinformation to assist a golfer in correcting his or her putt mechanics.

While the example of FIG. 10 is related to turning of the club face,excessive skidding of the golf ball at ball strike may indicate a faultyputt stroke as well. In an example, a pendulum type of swing may imparta brief skid followed by a roll of the golf ball, while wrist snap orother improper mechanics may cause the ball to bounce or skid for alarger period of time before rolling. Such mechanics may be detectedbased on noise associated with the initial acceleration along the threeaxes. Other embodiments are also possible.

By accurately measuring the “roll quality” of balls on various puttinggreens and surfaces (as their rolls are misdirected, disturbed, bouncedand/or deflected off-line by imperfections on the measured greens andsurfaces, as compared to what their “perfect” roll trajectories wouldhave been on a “perfectly smooth surface”), the system 10 of FIG. 1 andthe system 500 of FIG. 5 may be used to determine a roll quality metricto describe and compare the roll quality of various putting greens andsurfaces. In the area of golf course putting greens, green speeds (ballroll distance from a known starting energy level) are commonly measuredusing a variety of devices. These devices are exclusively focused on thelength (distance) a golf ball travels over any surface. However, theball roll distance, or green speed, is only one measure of the surface.In contrast, in addition to the green speed, the system 10 and thesystem 500 may be configured to measure the smoothness of roll acrossthe putting green 14 as well as the firmness of the putting green 14,making it possible to fully characterize the roll quality of the puttinggreen 14 as a function of the green speed, firmness, smoothness, andplane deviation of the surface.

When imported into the computing device 16 (or 502), the roll path ofthe golf ball can be viewed and analyzed. The overall smoothness andpureness of the golf ball's roll is determined by comparing the ball'sactual roll direction and motion (obtained by evaluating the ball'sactual three axis accelerometer data) at several different timeintervals and rolling speeds to the theoretically pure motion it wouldhave experienced if the surface upon which it rolled would have beenperfectly smooth and flat. The green speed of any putting surface can bedetermined as a result of knowing the rate of deceleration of the golfball across the surface. Further, the firmness can be determined basedon the elastic bounce response of the golf ball 14 relative to thesurface and the smoothness can be determined from noise in theaccelerometer signals.

In conjunction with the systems, methods, and devices described above, acomputing system may be configured to receive roll data from a golf balland to determine one or more parameters associated with the surface orwith a putting stroke in response to receiving the roll data. In a firstmode, the computing system may process the roll data to determine anoverall roll quality associated with a surface of a putting green, andoptionally to determine a green speed, firmness, imperfections, andplane deviations (slopes) associated with the surface. In a second mode,the computing system may process the roll data to determineirregularities in a putting stroke, such as snapping wrists and turningthe club face. In either case, the computing system may provide data toa display interface.

Although the present invention has been described with reference toparticular embodiments, workers skilled in the art will recognize thatchanges may be made in form and detail without departing from the scopeof the invention.

What is claimed is:
 1. A system comprising: a golf ball including: atleast one accelerometer configured to generate signals proportional toacceleration along three axes; a microprocessor coupled to the at leastone accelerometer, the microprocessor configured to correlate thesignals to produce a roll data file for each roll event of a pluralityof roll events; a memory configured to store the roll data file for eachroll event; and a transceiver configured to communicate roll dataassociated with at least some of the plurality of roll events to acomputing device; and the computing device configured to receive theroll data from the golf ball and, in a first mode, to process the rolldata file to determine at least one of an overall roll qualityassociated with a surface and a firmness parameter associated with asurface.
 2. The system of claim 1, further comprising: the computingdevice including: a transceiver configured to receive the roll data filefrom the golf ball; and a processor coupled to the transceiver andconfigured to determine the overall roll quality and the firmness of thesurface based on at least some of the plurality of roll events.
 3. Thesystem of claim 1, wherein: the computing device further includes adisplay interface coupled to the processor; and the processor isconfigured to provide a graphical user interface to the displayinterface, the graphical user interface including data corresponding toat least one of the firmness parameter and the overall roll quality. 4.The system of claim 1, wherein the golf ball further comprises amicroelectromechanical magnetometer configured to determine thedirection of a roll of the golf ball.
 5. The system of claim 1, whereinthe roll data includes accelerometer measurement data corresponding to afirst frequency range and corresponding to a second frequency range thatis higher than the first frequency range.
 6. The system of claim 5,wherein the accelerometer measurement data corresponding to the firstfrequency range corresponds to rolling motion of the golf ball.
 7. Thesystem of claim 6, wherein the computing device is configured todetermine one or more slopes along a roll path based on theaccelerometer measurement data corresponding to the first frequencyrange.
 8. The system of claim 5, wherein the computing device isconfigured to determine at least one of a putter impact, a skid, and abounce of the golf ball based on the accelerometer measurement datacorresponding to the second frequency range.
 9. The system of claim 1,further comprising: the computing device including: a transceiverconfigured to receive the roll data file from the golf ball; a displayinterface; and a processor coupled to the transceiver and the displayinterface, the processor configured to process the roll data todetermine an irregularity in a putting stroke and to communicate analert to the display interface in response to determining theirregularity, in a second mode.
 10. The system of claim 9, wherein theprocessor is configured to: determine the putting stroke includes aturned club face at impact based on side spin detected in the roll data;and determine the putting stroke includes an non-pendulum type swingbased on an initial skid determined from the roll data.
 11. A methodcomprising: receiving roll data from a golf ball including accelerometerdata measured along three axes at an interface of a computing device;processing, using a processor of the computing device, the roll data todetermine, in a first mode, at least one of a smoothness metric, a planedeviation metric, and a firmness metric associated with a surface; andproviding data related to at least one of the smoothness metric, theplane deviation metric, and the firmness metric from the processor to adisplay of the computing device.
 12. The method of claim 11, wherein, ina second mode, the method further comprising: processing, using theprocessor of the computing device, the roll data to determine acharacteristic of a putting stroke; and providing data related to theputting stroke from the processor to the display.
 13. The method ofclaim 11, wherein the roll data include direction data corresponding toa roll of a golf ball.
 14. The method of claim 11, wherein processingthe roll data includes determining accelerometer data in a firstfrequency range and a second frequency range that is higher than thefirst frequency range.
 15. The method of claim 14, wherein processingthe roll data includes determining rolling motion of the golf ball basedon the accelerometer measurement data corresponding to the firstfrequency range.
 16. The method of claim 15, wherein determining therolling motion includes detecting one or more slopes along a roll pathbased on the accelerometer measurement data corresponding to the firstfrequency range.
 17. The method of claim 14, wherein processing the rolldata includes determining at least one of a putter impact, a skid, and abounce of the golf ball based on the accelerometer measurement datacorresponding to the second frequency range.
 18. A computer readablestorage device embodying software comprising instructions that, whenexecuted, cause a processor to: in a first mode, process roll data froma golf ball to determine a roll quality metric for a surface of aputting green; and provide data corresponding to the roll quality metricto a display device.
 19. The computer readable storage device of claim18, further comprising instructions that, when executed, cause theprocessor to: in a second mode, process the roll data from the golf ballto determine a characteristic of a putting stroke; and provide datarelated to the characteristic of the putting stroke to a display. 20.The computer readable storage device of claim 19, further comprisinginstructions that, when executed, cause the processor to: determine theroll quality metric based on imperfections identified from relativelyhigh frequency signal components in accelerometer data of the roll dataand based on slopes and green speed determined from relatively lowfrequency components of the accelerometer data; and determine thecharacteristic of the putting stroke based on relatively high frequencycomponents of the accelerometer data within a first portion of the rolldata.